package com.bainuo.live.api.constant;

import com.bainuo.doctor.common.constant.Constant;
import com.bainuo.live.api.server_api.UserServerApiImpl;
import com.mobai.model.user.UserInfo;
import com.orhanobut.hawk.Hawk;

/**
 * Description:用户管理器
 * Created by MonkeyShen on 2017/2/7.
 * Mail:shenminjie92@sina.com
 */

public class UserManager {
    /**
     * 用户
     */
    private UserInfo mUser;

    /**
     * 单例
     */
    private static UserManager manager;
    private UserServerApiImpl mUserApi;
    private UserManager() {
        mUserApi= new UserServerApiImpl();
    }

    /**
     * 获取实例
     *
     * @return 返回实例
     */
    public static UserManager getInstance() {
        if (manager == null) {
            synchronized (UserManager.class) {
                if (manager == null) {
                    manager = new UserManager();
                }
            }
        }
        return manager;
    }


    /**
     * 获取用户信息
     * 若对此对象进行修改，不影响对单例对象的处理
     *
     * @return 返回用户对象的克隆
     */
    public UserInfo getUser() {
        if (mUser == null) {
            mUser = Hawk.get(Constant.LOCAL_KEY_USER);
        }
        return mUser;
    }

    /**
     * 获取用户id
     *
     * @return return
     */
//    public String getUserId() {
//        return getUser() == null ? "" : getUser().getId();
//    }
//
//
//    public boolean isLogined(){
//        return getUser() != null && getUser().getId() != null && getUser().getSskey() != null;
//    }
//
//
//    /**
//     * 保存user
//     *
//     * @param user user
//     */
//    public void setUser(UserInfo user) {
//        if (mUser != null) {
//            if (mUser.getSskey() != null && user != null)
//                user.setSskey(mUser.getSskey());
//        }
//
//        Hawk.put(Constant.LOCAL_KEY_USER, user);
//        this.mUser = user;
//    }

    /**
     * 清空保存用户，用于注销等操作
     */

//    public void clearUser() {
//        if(mUser != null){
//            mUserApi.logout(null);
//            mUser = null;
//            Hawk.delete(Constant.LOCAL_KEY_USER);
//        }
//
//
//    }
}
